package nl.jjsoft.airlock.controller
{
	import mx.collections.ArrayCollection;
	
	import nl.jjsoft.airlock.vo.AccountVo;
	import nl.jjsoft.airlock.vo.CredentialsVO;
	import nl.jjsoft.airlock.vo.GroupVO;
	
	public interface ISafeController
	{
		function createPasswordDB(dbFilePath:String, safeCombination:String):void;
		
		function getGroups():Array;
		function getAccountsForGroup(group:GroupVO):ArrayCollection;
		function getCredentialsForPassword(password:AccountVo):CredentialsVO;

		function saveAccount(password:AccountVo):Number;
		function deleteAccount(password:AccountVo):Boolean;					
		
		function saveGroup(group:GroupVO):void;
		function deleteGroup(group:GroupVO):Boolean;		
	}
}